using System;

namespace DependencyInjection
{
    /// <summary>
    /// The [Dependency] attribute is one of the key attributes of the Dependency.Injection system.
    /// It can be applied to fields or properties, which need not be public. Any property or field
    /// which is marked as [Dependency] will be satisfied by the object generator, when either the
    /// GenerateObject or the FulfillDependencies methods are called.
    /// 
    /// Note that this works recursively, if the dependency has dependencies, those too, will be 
    /// satisfied.
    /// 
    /// </summary>
    [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]
    public class Dependency : Attribute
    {
    }
}